#ifndef SHELL_H
#define SHELL_H

#ifdef __cplusplus
extern "C" {
#endif

#include <errno.h>
#include <string.h>
#include "Typedefine.h"
#include "Debug.h"    //redefine printf() up to your platform

#define SHELL_CMD_SIZE      80
#define SHELL_ARG_NR        10

typedef int(*syscall_func_t)(int argc, char **argv);

struct shell_syscall
{
    const char      *name;       /* the name of system call */
    const char      *desc;       /* description of system call */
    syscall_func_t   func;       /* the function address of system call */
};
extern struct shell_syscall *_syscall_table_begin, *_syscall_table_end;


void shell_get_chr(char ch);
int shell_system_init(void);

#ifdef __cplusplus
}
#endif

#endif // SHELL_H
